GA4 + GTM + GSC • UTMs • Key Events
College of Business Administration - Cal Poly Pomona
2/10/2026
Live slides available at https://ccidm.github.io/cba-symposium-quarto
After taking this workshop, participants should be able to:
Note
Optional to Follow Along; Required to Deploy
https://github.com/CCIDM/portfolio-website-template.gitindex.qmd to customize your content.quarto publish netlify. You will be prompted to login to netlify. Create account or login.Tag management system that lets you configure, deploy, and troubleshoot tracking tags from a web interface—no code changes needed. (Facebook, EventBrite, etc.)
Next-gen analytics collecting event-based data from websites/apps to understand full customer journeys with privacy controls and predictive insights.
Webmaster tool to monitor indexing, search performance, crawl errors, and optimize site visibility in Google Search results.
Tip
Use one Google account across tools.
Connect our Quarto site to the Google Marketing Platform (GA4 + GTM).
To follow along, you need:
Why this matters
We are moving from “static pages” to “measurable data” by injecting tracking codes into your live environment.
Before we touch the code/website, we need the containers.
GTM-XXXXXX).<head> and <body>).G-XXXXXXXX).mysite.com).<head> and <body> scripts.G-XXXXXXXX) for your website code.G-XXXXXXXX.Note: Until you hit Publish, your changes are only saved in a “Draft” version.
page_view event is listed.Expected Outcome
If you see events populating the timeline in real-time, your connection is successful. If the timeline is empty, check if your ad blocker is on!
Why do this?
When you click “Add Property” in GSC, you have two choices:
example.com, m.example.com, www.example.com, http://, https://.https://www.example.com).Google needs proof you own the site. Choose the method that fits your access level:
| Method | Difficulty | Best Use Case |
|---|---|---|
| DNS Record | High | Domain Property. Best for full coverage. Requires logging into GoDaddy/Namecheap. |
| HTML File | Medium | URL Prefix. You have FTP/File access to the server root. |
| HTML Tag | Low | URL Prefix. WordPress/Wix users. Copy/paste a meta tag into your header. |
| GA4 / GTM | Lowest | URL Prefix. If you already installed GA4/GTM (and have “Edit” permission), this verifies instantly! |
Pro Tip
If you just set up GA4/GTM in the previous step, try the Google Analytics verification method first. It’s one click!
Data doesn’t appear automatically. You must Link and Publish.
Result: A new “Search Console” tab will appear in your main reporting menu, showing Queries and Landing Pages.
Without UTMs, GA4 can usually tell you where a user came from (e.g., “They came from Facebook”).
But it cannot tell you: * How they got there (Paid Ad vs. Free Post?) * Why they came (Spring Sale vs. Black Friday?)
The Solution
UTM parameters are “tags” we add to the end of a link. They force GA4 to record exactly what we tell it to record.
Data is only useful if it is consistent.
GA4 treats Email, email, and EMAIL as three completely different traffic sources. * Best Practice: Always use lowercase for everything.
If five people on your team name campaigns differently, your reports will be unreadable. * Bad: spring-sale, Spring_Sale, springsale26 * Good: spring_sale_2026 (Standardized)
Goal: Create a tracking link for a LinkedIn post promoting the Spring Workshop.
| Parameter | Value | Logic |
|---|---|---|
| Website URL | https://yoursite.com |
Where they go. |
| Campaign Source | linkedin |
The specific site. |
| Campaign Medium | social |
The marketing channel. |
| Campaign Name | spring_workshop_2026 |
The strategic effort. |
| Parameter | Definition | Example |
|---|---|---|
utm_source |
The “Who” (The referrer) | google, newsletter, facebook |
utm_medium |
The “How” (Marketing channel) | cpc (paid), email, social |
utm_campaign |
The “Why” (Product/Promotion) | spring_sale, webinar_launch |
utm_content |
The “What” (Specific ad/link) | sidebar_link, video_ad, text_link |
utm_term |
The Keywords (Paid Search) | running+shoes, marketing+course |